variables:
RUSTDOCFLAGS: >-
-Z unstable-options
- --extern-html-root-url glib_sys=https://gtk-rs.org/docs
- --extern-html-root-url gobject_sys=https://gtk-rs.org/docs
- --extern-html-root-url gio_sys=https://gtk-rs.org/docs
--extern-html-root-url glib=https://gtk-rs.org/docs
--extern-html-root-url gio=https://gtk-rs.org/docs
script:
[dependencies]
bitflags = "1.2.1"
ffi = { package = "ostree-sys", path = "sys", version = "0.8.1" }
-gio = "0.14.0"
-gio-sys = "0.14.0"
-glib = "0.14.0"
-glib-sys = "0.14.0"
-gobject-sys = "0.14.0"
+gio = "0.14"
+glib = "0.14"
hex = "0.4.2"
libc = "0.2"
once_cell = "1.4.0"
+use glib::ffi::{g_free, g_malloc0, gpointer};
use glib::translate::{FromGlibPtrFull, FromGlibPtrNone};
-use glib_sys::{g_free, g_malloc0, gpointer};
use once_cell::sync::OnceCell;
use std::ptr::copy_nonoverlapping;
#[cfg(test)]
mod tests {
use super::*;
+ use glib::ffi::g_malloc0;
use glib::translate::from_glib_full;
- use glib_sys::g_malloc0;
const CHECKSUM_BYTES: &[u8; BYTES_LEN] = b"\xbf\x87S\x06x>\xfd\xc5\xbc\xab7\xea\x10\xb6\xcaN\x9bj\xea\x8b\x94X\r\x0c\xa9J\xf1 V\\\x0e\x8a";
const CHECKSUM_HEX: &str = "bf875306783efdc5bcab37ea10b6ca4e9b6aea8b94580d0ca94af120565c0e8a";
#[cfg(any(feature = "v2017_13", feature = "dox"))]
use crate::ChecksumFlags;
use crate::{Checksum, ObjectType};
+use glib::ffi::GFALSE;
use glib::{prelude::*, translate::*};
-use glib_sys::GFALSE;
use std::{future::Future, mem::MaybeUninit, pin::Pin, ptr};
/// Compute the SHA-256 checksum of a file.
unsafe extern "C" fn checksum_file_async_trampoline<
R: FnOnce(Result<Checksum, Box<dyn std::error::Error>>) + Send + 'static,
>(
- _source_object: *mut gobject_sys::GObject,
- res: *mut gio_sys::GAsyncResult,
- user_data: glib_sys::gpointer,
+ _source_object: *mut glib::gobject_ffi::GObject,
+ res: *mut gio::ffi::GAsyncResult,
+ user_data: glib::ffi::gpointer,
) {
let mut error = ptr::null_mut();
let mut out_csum = MaybeUninit::uninit();
unsafe fn checksum_file_error(
out_csum: *mut [*mut u8; 32],
- error: *mut glib_sys::GError,
+ error: *mut glib::ffi::GError,
ret: i32,
) -> Result<Checksum, Box<dyn std::error::Error>> {
if !error.is_null() {
use glib;
use glib::translate::*;
use glib::GString;
-use glib_sys;
use std::fmt::Display;
use std::fmt::Error;
use std::fmt::Formatter;
use std::hash::Hasher;
fn hash_object_name(v: &glib::Variant) -> u32 {
- unsafe { ffi::ostree_hash_object_name(v.to_glib_none().0 as glib_sys::gconstpointer) }
+ unsafe { ffi::ostree_hash_object_name(v.to_glib_none().0 as glib::ffi::gconstpointer) }
}
/// A reference to an object in an OSTree repo. It contains both a checksum and an
use crate::RepoListRefsExtFlags;
use crate::{Checksum, ObjectName, ObjectType, Repo};
use ffi;
-use gio_sys;
+use glib::ffi as glib_sys;
use glib::{self, translate::*, Error, IsA};
-use glib_sys;
use std::{
collections::{HashMap, HashSet},
future::Future,
unsafe extern "C" fn write_content_async_trampoline<
R: FnOnce(Result<Checksum, Error>) + Send + 'static,
>(
- _source_object: *mut gobject_sys::GObject,
- res: *mut gio_sys::GAsyncResult,
- user_data: glib_sys::gpointer,
+ _source_object: *mut glib::gobject_ffi::GObject,
+ res: *mut gio::ffi::GAsyncResult,
+ user_data: glib::ffi::gpointer,
) {
let mut error = ptr::null_mut();
let mut out_csum = MaybeUninit::uninit();
unsafe extern "C" fn write_metadata_async_trampoline<
Q: FnOnce(Result<Checksum, Error>) + Send + 'static,
>(
- _source_object: *mut gobject_sys::GObject,
- res: *mut gio_sys::GAsyncResult,
+ _source_object: *mut glib::gobject_ffi::GObject,
+ res: *mut gio::ffi::GAsyncResult,
user_data: glib_sys::gpointer,
) {
let mut error = ptr::null_mut();
#[cfg(test)]
mod tests {
use super::*;
- use glib_sys::{GFALSE, GTRUE};
+ use glib::ffi::{GFALSE, GTRUE};
use std::ffi::{CStr, CString};
use std::ptr;
use crate::{Repo, RepoCheckoutFilterResult};
+use glib::ffi::gpointer;
use glib::translate::*;
-use glib_sys::gpointer;
use libc::c_char;
use std::any::Any;
use std::panic::catch_unwind;
-use gobject_sys;
-
glib::wrapper! {
/// A list of statistics for each transaction that may be interesting for reporting purposes.
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct RepoTransactionStats(Boxed<ffi::OstreeRepoTransactionStats>);
match fn {
- copy => |ptr| gobject_sys::g_boxed_copy(ffi::ostree_repo_transaction_stats_get_type(), ptr as *mut _) as *mut ffi::OstreeRepoTransactionStats,
- free => |ptr| gobject_sys::g_boxed_free(ffi::ostree_repo_transaction_stats_get_type(), ptr as *mut _),
+ copy => |ptr| glib::gobject_ffi::g_boxed_copy(ffi::ostree_repo_transaction_stats_get_type(), ptr as *mut _) as *mut ffi::OstreeRepoTransactionStats,
+ free => |ptr| glib::gobject_ffi::g_boxed_free(ffi::ostree_repo_transaction_stats_get_type(), ptr as *mut _),
init => |_ptr| (),
clear => |_ptr| (),
type_ => || ffi::ostree_repo_transaction_stats_get_type(),
#[cfg(test)]
mod tests {
use super::*;
- use glib_sys::{GFALSE, GTRUE};
+ use glib::ffi::{GFALSE, GTRUE};
#[test]
fn should_convert_default_options() {
system-deps = "3"
[dependencies]
-glib-sys = "0.14.0"
-gobject-sys = "0.14.0"
-gio-sys = "0.14.0"
+glib-sys = "0.14"
+gobject-sys = "0.14"
+gio-sys = "0.14"
libc = "0.2"
[dev-dependencies]